Fivetranが定義したData Modelで簡単に分析用途のデータに変換できる「Quickstart Data Models」を試してみた
さがらです。
Fivetranが定義したData Modelで簡単に分析用途のデータに変換できる「Quickstart Data Models」という機能を試してみたので、本記事でまとめてみます。
※2023/4/24時点では、Beta版の機能ですのでご注意ください。
Quickstart Data Modelsとは
まず、「Quickstart Data Models」とはどんな機能かについて説明します。
Fivetranには、Fivetranでロード後のデータを変換できるTransformationという機能があります。これはdbtを用いて事前に変換処理を開発しておき、そのdbtの変換処理をFivetran上でスケジュール実行できる、という機能です。
Fivetran社は、Fivetranでロード後のデータを変換するためのModelを集めたdbt packageも提供しているため、このdbt packageを使うことですぐに分析に使用できるデータを構築することが可能です。
ただ、このdbt Transformationを使うには、良くも悪くも事前にdbt projectを用意しておかないといけないです。特にPoCのような検証段階では、「Fivetranでロードして、dbt packageでどんな変換ができるんだろう、ぱぱっと結果を見て使えるか判断したいな」くらいの温度感だと思いますので、わざわざdbtをインストールしてリポジトリ作って…ってことを行うのは正直面倒ですよね。
そんなときに、「Quickstart Data Models」の出番です!
この機能を使うことで、Fivetran社で事前に定義済みの各コネクタに対応したdbt projectを裏側でセットアップし、ユーザーは自分でdbt projectを事前に用意しなくても、「Fivetranを使ってロード⇛Fivetran社が定義済のdbt packageで変換」を行うことが出来ます。
パパっと試したい方にはぴったりの機能だと思います!まさに「Quickstart」だなと。
Quickstart Data Modelsについては、下記のドキュメントに詳細に説明がありますので、こちらも併せてご覧ください。(1点だけ、Fivetran社で定義済の全てのdbt packageが対応しているわけではないため、ご注意ください。)
試してみた
やること
Fivetran Logのコネクタを用いてデータをロード後に、Fivetran Logコネクタに対応したQuickstart Data Modelsを用いてデータ変換を行ってみます。
Fivetran Logコネクタを用いてデータロード
Fivetran Logコネクタを用いたデータロードについては、下記のドキュメントをご覧ください。Fivetranのログを同期するだけなので、特に認証情報も不要ですぐにセットアップが可能です。
Fivetran Logコネクタに対応したQuickstart Data Modelsの設定
続いて、本題のQuickstart Data Modelsの設定に移ります。
Fivetranの画面で、Transformations
から先程GitHubコネクタでデータをロードしたDestinationを選択します。
画面右上からAdd transformation
を押し、Quickstart Transformation
を押します。
Quickstart transformationsの設定になるため、各項目を設定します。
Source Type
:Quickstart transformationsで変換したいデータの、Fivetranコネクタの種類を選択Connector
:Source Type
で選択したコネクタの種類から、今回変換を行いたいデータを持つコネクタの名称を選択Output Models
:ここは自動で入力されます。定義されるModelの説明については、こちらのFivetran社が提供するdbt packageから該当するpackageを選択ください。
同じ画面の下部にはSet schedule
があります。
一番上のFully integrated
ですが、Fivetranによってロード処理が行われた直後に変換処理を実行することができます。Fivetranによりデータが更新されたら、変換処理も都度行ってほしいと思いますので、一番使う頻度は多い設定かなと思います!
上から二番目のPartially integrated
ですが、Fivetranのロード直後ではなく、任意の頻度で変換処理を実行します。もしFivetranのロードと実行タイミングが被った場合には、Fivetranのロード完了後にdbtのModelが実行されます。
上から三番目のIndependent
ですが、任意の頻度や時刻で変換処理を実行するということは上述のPartially integrated
と変わらないのですが、Independent
の場合はFivetranのロード処理とタイミングが被ったとしても、関係なく変換処理を実行します。
ここでは、Fully integrated
を選択して、右下のSave
を押します。これで、Quickstart Data Modelsの設定は完了です!
Transformationsの設定確認
続いて、どのように設定がされたのか、見ていきたいと思います。
FivetranのTransformationsの画面を見ると、先程設定時に確認したData Modelが増えていることがわかります。
1つ、fivetran_log__schema_changelog
の中身を見てみます。これを見ると、log
、connector
、destination
というFivetranで同期したテーブルからfivetran_log__schema_changelog
が作られていることがわかります。
実行してみた
今回、Fully integrated
でスケジュール設定をしていたので、元のFivetran Logコネクタを手動実行してみます!
このときTransformationからfivetran_log__schema_changelog
を開いてみると、「Fivetranの同期が行われているよ」ということがわかるようになっています。今どの処理が行われているかわかるのは便利ですね!
Transformationの処理が完了すると、下図のように右側にSUCCEEDED
の履歴が表示されます。クリックすると、詳細なログも確認可能です。
実際にSnowflakeで確認してみると、各種スキーマとテーブル・ビューが作られていました!
※スキーマ名が、元のコネクタ名__このTransformationで動いているdbt projectで定義しているスキーマ名
となる点だけ、注意が必要ですね…
1つ例として、作られたFIVETRAN_LOG__MAR_TABLE_HISTORY
を見てみると各コネクタとテーブルごとに計測したMARが集計されていました。これは便利そうですね!
最後に
Fivetranが定義したData Modelで簡単に分析用途のデータに変換できる「Quickstart Data Models」を試してみました。
事前にdbt projectの定義が不要で、さくっと使えるデータに変換できるのは便利だなと感じました!特に私が試したFivetran LogコネクタのQuickstart Data Modelsはどの環境においてもすぐに使えるテーブルが多いと感じたので、ぜひご活用ください。